課程資訊
課程名稱
設計模式與軟體開發
DESIGN PATTERNS AND SOFTWARE DEVELOPMENT 
開課學期
98-2 
授課對象
工學院  電腦輔助工程組  
授課教師
陳俊杉 
課號
CIE7148 
課程識別碼
521 M7360 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期二3,4,@(10:20~)星期四A,B(18:25~20:10) 
上課地點
綜203 
備註
星期四上課教室:計中212室 上課時間18:30-20:30
總人數上限:50人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/982dp 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

1) REVIEW OF C++ AND OBJECT-ORIENTED PROGRAMMING
(2) UML INTRODUCTION AND BASIC UML DIAGRAMS
(3) OPEN-CLOSED PRINCIPLE AND TEMPLATE METHOD AND STRATEGY PATTERNS
(4) INTRODUCTION TO DESIGN PATTERNS
(5) FACADE, ADAPTER, BRIDGE PATTERNS
(6) CASE STUDY: A CAD/CAM SOFTWARE SYSTEM
(7) CREATIONAL PATTERNS: FACTORY METHOD, ABSTRACT FACTORY, PROTOTYPE, SINGLETON AND BUILDER PATTERNS
(8) STRUCTURAL PATTERNS: COMPOSITE AND DECORATOR PATTERNS
(9) BEHAVIOR PATTERNS: OBSERVER, VISITOR, FLYWEIGHT, COMMAND PATTERNS.
(10) COMPOUND PATTERNS
(11) USE CASE MODELING
 

課程目標
INTERMEDIATE PROGRAMMING SKILL THROUGH A LEARNING JOURNEY ON HOW TO DESIGN AND DEVELOP SOFTWARE IN AN OBJECT-ORIENTED WAY. SPECIFICALLY, WE WILL EMPHASIZE ON HOW TO APPLY DESIGN PATTERNS AND DESIGN PRINCIPLES FOR SOFTWARE DEVELOPMENT. SOME ANALYSIS AND SOFTWARE DEVELOPMENT GUIDANCE SUCH AS UML AND USE CASE MODELING WILL ALSO BE DISCUSSED. 
課程要求
先修課程:物件導向程式語言,或具有同等能力經任課老師同意者。 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
GAMMA, E., HELM, R., JOHNSON, R., VLISSIDES, J., (1995) DESIGN PATTERNS: ELEMENTS OF REUSABLE OBJECT-ORIENTED SOFTWARE, ADDISON-WESLEY PUBLISHING COMPANY, NEW YORK, U.S.A.
 
參考書目
(OBJECT-ORIENTED PROGRAMMING LANGUAGE)
1. STANLEY B. LIPPMAN, JOSEE LAJOIE, BARBARA E. MOO (2005). C++ PRIMER, 4TH EDITION, ADDISON-WESLEY PUBLISHING COMPANY, NEW YORK, U.S.A.
2. STROUSTRUP, B. (1997). THE C++ PROGRAMMING LANGUAGE, 3RD ED., ADDISON-WESLEY PUBLISHING COMPANY, NEW YORK, U.S.A.
3. JOSUTTIS, N. (2003). OBJECT-ORIENTED PROGRAMMING IN C++, ADDISON-WESLEY PUBLISHING COMPANY, NEW YORK, U.S.A.
4. LUTZ, M. AND ASCHER, D. (1999). LEARNING PYTHON, OREILLY, CA, U.S.A.
5. HORSTMANN, C. S. AND CORNELL, G. (2001) CORE JAVA 2 VOLUME I AND II, SUN MICROSYSTEM PRESS, CA, U.S.A.
(OBJECT-ORIENTED ANALYSIS AND DESIGN)
6. LARMAN, C. (2004) APPLYING UML AND PATTERNS: AN INTRODUCTION TO OBJECT-ORIENTED ANALYSIS AND DESIGN AND THE UNIFIED PROCESS, 3RD EDITION, PRENTICE HALL, NJ, U.S.A.
7. SHALLOWAY, A. AND TROTT, J. R., (2001) DESIGN PATTERNS EXPLAINED: A NEW PERSPECTIVE ON OBJECTED-ORIENTED DESIGN, ADDISON-WESLEY PUBLISHING COMPANY, NEW YORK, U.S.A.
8. BOOCH, G. (1994) OBJECT-ORIENTED ANALYSIS AND DESIGN WITH APPLICATIONS, 2ND ED., CA, U.S.A.
9. FOWLER, M., SCOTT, K., (2000) UML DISTILLED, ADDISON-WESLEY PUBLISHING COMPANY, NEW YORK, U.S.A.
(SOFTWARE ENGINEERING)
10. BROOKS, F. P. (1995) THE MYTHICAL-MAN MONTH, ANNIVERSARY EDITION: ESSAYS ON SOFTWARE ENGINEERING, ADDISON-WESLEY PUBLISHING COMPANY, NEW YORK, U.S.A.
11. MCCONNELL, S. (1993) CODE COMPLETE, MICROSOFT PRESS, WA, U.S.A.
 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
Homework and Lab 
25% 
 
2. 
Midterm Exam 
20% 
 
3. 
Final Project 
50% 
 
4. 
Quiz and In-Class Performance 
5% 
 
 
課程進度
週次
日期
單元主題